package com.vhall.component.entity.pendant;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author guoxin.wang
 * @date 2021/10/29 10:45
 **/
@Data
@TableName("pendant_stats")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "PendantStatsEntity对象", description = "直播挂件统计表")
public class PendantStatsEntity implements Serializable {

    private static final long serialVersionUID = 333292093898182430L;

    @TableId(value = "id", type = IdType.AUTO)
    @JsonProperty("id")
    private Integer id;

    @ApiModelProperty(value = "直播id")
    @JsonProperty("il_id")
    @TableField(value = "il_id")
    private Integer ilId;

    @ApiModelProperty(value = "挂件ID")
    @JsonProperty("pendant_id")
    @TableField(value = "pendant_id")
    private Integer pendantId;

    @ApiModelProperty(value = "类型;1=推屏挂件 2=固定挂件")
    @JsonProperty("pendant_type")
    @TableField("pendant_type")
    private Integer pendantType;

    @ApiModelProperty(value = "点击次数")
    @TableField(value = "pv_num")
    @JsonProperty("pv_num")
    private Integer pvNum;

    @ApiModelProperty(value = "点击人数")
    @TableField(value = "uv_num")
    @JsonProperty("uv_num")
    private Integer uvNum;

    @ApiModelProperty(value = "推屏总次数")
    @TableField(value = "push_screen_num")
    @JsonProperty("push_screen_num")
    private Integer pushScreenNum;

    @ApiModelProperty(value = "推屏总时长;单位：秒")
    @TableField(value = "duration")
    @JsonProperty("duration")
    private Integer duration;

    @ApiModelProperty(value = "统计日期;格式：yyyy-MM-dd")
    @JsonProperty("date")
    @TableField("`date`")
    private String date;

    @ApiModelProperty(value = "创建时间")
    @JsonProperty("created_at")
    @TableField("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "更新时间")
    @JsonProperty("updated_at")
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "删除时间")
    @JsonProperty("deleted_at")
    @TableField("deleted_at")
    private LocalDateTime deletedAt;

}
